When deleting file data on an external storage (for example, a hard disk and a solid state drive (SSD: Solid State Drive)) in an operating system (OS), only the management information (metadata) of the data on the OS is deleted and actually, the data itself is not deleted from the external storage. Since delete processing is not performed on the external storage every time when deleting data on the OS, operational performance is improved for that the deletion processing is not performed on the external storage. This method is effective especially in a hard disk drive whose access speed is slow.
On the other hands, since the deleted data on the OS is recognized as valid data still existing on the external storage (hereinafter, such data is referred to as “host-invalid and device-valid data”), the free area in which data doesn't exist on the external storage is always less than the free area recognized by the OS. Especially, the exhaustion of the free area on the external storage sometimes becomes a big problem when wear leveling is performed in a solid state drive (SSD) in which the logical addresses and the physical addresses of the disk are not in a one-to-one correspondence.
The problems are listed as follows: for example, when data is written into the SSD in a state where host-invalid data of small size is fragmented over the SSD area, load for searching and securing an free area is much imposed on the system, which deteriorates writing performance extremely. Further, when writing is performed under the situation in which there is lots of host-invalid data and free area is exhausted in the memory system, writing access concentrates on a specified area, which degrades reliability of the memory system. These problems can be avoided by issuing a data deletion notice to the memory system when data deletion is performed in the OS.
Invalid data and valid data are defined by the following.    “host-invalid and device-valid data”:            the data invalid for the host and valid for the SSD controller.            “host-valid and device-valid data”:            the data valid for both the host and the SSD controller            “host-valid and device-invalid data”:            the data valid for the host and invalid for the SSD controller            “host-invalid and device-invalid data”:            the data invalid for both the host and the SSD controller            “host-valid data”:            the data valid at least for host.            “host-invalid data”:            the data invalid at least for the host.            “device-valid data”:            the data valid at least for the SSD controller.            “device-invalid data”            the data invalid at least for the SSD controller.        